(define (install-scheme-number-package) 
  (define (=zero? x) (= x 0))
  (put '=zero? 'scheme-number (lambda (x) (tag (=zero? x)))) 
  'done) 

(define (install-rational-package) 
  (define (=zero? x) 
    (and (= (numer x) 0) (= (denom x) 0))) 
  (put '=zero? 'rational (lambda (x) (tag (=zero? x)))) 
  'done) 

(define (install-complex-package) 
  (define (=zero? x) 
    (and (= (real-part x) 0) (= (imag-part x) 0))) 
  (put '=zero? 'complex (lambda (x) (tag (=zero? x)))) 
  'done) 

(define (=zero? x) (apply-generic '=zero? x)) 
